The quality of a user experience (UX) is based on how well the UX is aligned with the user expectations. Having to deal with many data types, many data sources, and many UX platforms, designers have to make a choice from unattractive approaches that include writing presentation code for a specific persona that consumes specific data from data sources for a specific UX platform, or providing a broadly targeted UX that does not meet the needs of any single persona.
For example, existing UX composition systems such as HTML (hypertext markup language), XAML (extensible application markup language), and XSLT (extensible stylesheet language transformations) are designed such that the markup code be developed for a specific platform. If the developer wants the code to work on several platforms a custom logic is to be built in the code to handle the platform differences. Moreover, existing UX composition systems require specific presentation be explicitly defined for every data interface element. The functionality that allows dynamic generation of UX elements based on underlying data structures the elements represent is limited to nonexistent, especially if the data structures are complex and/or inheritable.
As a result of these limitations, the mass market (e.g., email) may have been served, but the smaller communities of users (e.g., the exchange administrator or the CRM (customer relationship management) service owner) are underserved.